bitkeeper revision 1.1286 (425a96ca5UAvnSzOyOKUFxfHjMVm9g)
authorbren@br260.wolfson.cam.ac.uk <bren@br260.wolfson.cam.ac.uk>
Mon, 11 Apr 2005 15:24:58 +0000 (15:24 +0000)
committerbren@br260.wolfson.cam.ac.uk <bren@br260.wolfson.cam.ac.uk>
Mon, 11 Apr 2005 15:24:58 +0000 (15:24 +0000)
Define atomic functions ourselves rather than relying on
kernel headers under "/usr/include".

Signed-off-by: bin.ren@cl.cam.ac.uk
tools/xentrace/xentrace.c
xen/include/public/trace.h
xen/include/xen/trace.h

index dc3cd141bbffe16846588e82c868fa2028e5d59f..50988c90f8b7a423820f42fd22e2e127a12d1cfd 100644 (file)
 #include <signal.h>
 
 #include "xc_private.h"
+
+typedef struct { int counter; } atomic_t;
+#define _atomic_read(v)                ((v).counter)
+
 #include <xen/trace.h>
 
 extern FILE *stderr;
@@ -242,7 +246,7 @@ unsigned long *init_tail_idxs(struct t_buf **bufs, unsigned int num)
     }
     
     for ( i = 0; i<num; i++ )
-        tails[i] = atomic_read(&bufs[i]->rec_idx);
+        tails[i] = _atomic_read(bufs[i]->rec_idx);
 
     return tails;
 }
@@ -310,7 +314,7 @@ int monitor_tbufs(FILE *logfile)
     while ( !interrupted )
     {
         for ( i = 0; ( i < num ) && !interrupted; i++ )
-            while( cons[i] != atomic_read(&meta[i]->rec_idx) )
+            while( cons[i] != _atomic_read(meta[i]->rec_idx) )
             {
                 write_rec(i, data[i] + cons[i], logfile);
                 cons[i] = (cons[i] + 1) % size_in_recs;
index ed5127db65d5bcf07358c914719142e8efcfab03..1b15314cce1d93fedfa195f8850a0694342ba406 100644 (file)
@@ -8,8 +8,6 @@
 #ifndef __XEN_PUBLIC_TRACE_H__
 #define __XEN_PUBLIC_TRACE_H__
 
-#include <asm/atomic.h>
-
 /* Trace classes */
 #define TRC_GEN     0x00010000    /* General trace            */
 #define TRC_SCHED   0x00020000    /* Xen Scheduler trace      */
index e46d916c3246d122bcda32c75e0ec7b8ec458d33..68b51cbfb75b45026bdf8bee6615d6e78498d694 100644 (file)
@@ -23,8 +23,6 @@
 #ifndef __XEN_TRACE_H__
 #define __XEN_TRACE_H__
 
-#include <public/trace.h>
-
 #ifdef TRACE_BUFFER
 
 #include <asm/page.h>
@@ -34,6 +32,7 @@
 #include <asm/current.h>
 #include <asm/msr.h>
 #include <public/dom0_ops.h>
+#include <public/trace.h>
 
 extern struct t_buf *t_bufs[];
 extern int tb_init_done;